﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Reflection;
using Kokomo.PeInspector.Reflection.Disassembly;

namespace Kokomo.PeInspector.Test
{
	[TestClass]
	public class MsilDisassemblerTest
	{
		public MsilDisassemblerTest()
		{
			this.Model = new ModelClass();
		}

		public ModelClass Model { get; private set; }

		private void DisassembleMethod(MethodInfo method)
		{
		}

		#region Arrays
		[TestMethod]
		public void ImplicitArrayTest()
		{
			MsilDisassembler.Disassemble(((Action)this.Model.ImplicitArrayModel).Method);
		}
		
		[TestMethod]
		public void ExplicitArrayTest()
		{
			MsilDisassembler.Disassemble(((Action)this.Model.ExplicitArrayModel).Method);
		}

		#endregion

		#region Expressions
		[TestMethod]
		public void SwitchedExpressionTest()
		{
			MsilDisassembler.Disassemble(((Action)this.Model.SwitchedExpressionModel).Method);
		}
		#endregion
	}
}
